package com.yk.silence.rxretrofitmvp.base.presenter;

import com.yk.silence.rxretrofitmvp.base.model.BaseModel;
import com.yk.silence.rxretrofitmvp.base.view.BaseView;

/**
 * Presenter层(关联view层和model层)
 */
public interface IBasePresenter<V extends BaseView, M extends BaseModel> {
    /**
     * 注册model层
     *
     * @param model
     */
    void registerModel(M model);

    /**
     * 注册View层
     *
     * @param view
     */
    void registerView(V view);

    /**
     * 关联View层
     *
     * @return
     */
    V getView();

    /**
     * 销毁（如activity和fragment的销毁）
     */
    void onDestroy();
}
